package Juego;

import Naves.NaveEnemiga;
import Componentes.Obstaculo;
import PowerUps.PowerUp;
import TDALista.*;

public class Nivel {
	
	protected PositionList<NaveEnemiga> navesEnemigas;
	protected PositionList<PowerUp> powerUps;
	protected PositionList<Obstaculo> obstaculos;
	
	public Nivel(){
		navesEnemigas = new DoubleLinkedList<NaveEnemiga> ();
		powerUps = new DoubleLinkedList<PowerUp> ();
		obstaculos = new DoubleLinkedList<Obstaculo> ();
		
	}
	
	public PositionList<NaveEnemiga> obtenerNavesEnemigas(){
		//Tablero usa este metodo. Necesita la original y no una copia.
		return navesEnemigas;
	}
	
	public Position<NaveEnemiga> agregarNave(NaveEnemiga nave){

		Position<NaveEnemiga> pos = null;
		try{
		navesEnemigas.addLast(nave);
		pos = navesEnemigas.last(); 
		}catch(EmptyListException e){
			e.getMessage();
		}
		return pos;
	}
	
	public void eliminarNave(Position<NaveEnemiga> p) {
		try{	
		navesEnemigas.remove(p);
		}
		catch(InvalidPositionException e){
			e.getMessage();
		}
	  }
	
	public void eliminarObstaculo(Obstaculo obs) {
		
	  }
	
	public void eliminarPowerUp(PowerUp pw) {
		
	   }

}
